package com.jflm.util;

/**
 * ******************  ��˵��  *********************
 * class       :  ConstantUtils
 * @author     :  hejinyun@umpay.com
 * @version    :  1.0  
 * description :  ������
 * @see        :                        
 * ***********************************************
 */
public class ConstantUtils {
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  XML
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  XML��ǩ����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum XML{
		HEADER("<xml>"),
		FOOTER("</xml>")
		;
		private String value;
		private XML(String value){
			this.value = value;
		}
		@Override
		public String toString(){
			return this.value;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  CDATA
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  CDATA��ǩ����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum CDATA{
		PREFIX("<![CDATA["),
		SUFFIX("]]>")
		;
		private String value;
		private CDATA(String value){
			this.value = value;
		}
		@Override
		public String toString(){
			return this.value;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  IReq_redpacket
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  ΢���ֽ�����������ö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum IReq_redpacket{
		NONCE_STR("nonce_str"),
		SIGN("sign"),
		MCH_BILLNO("mch_billno"),
		MCH_ID("mch_id"),
		SUB_MCH_ID("sub_mch_id"),
		WXAPPID("wxappid"),
		NICK_NAME("nick_name"),
		SEND_NAME("send_name"),
		RE_OPENID("re_openid"),
		TOTAL_AMOUNT("total_amount"),
		MIN_VALUE("min_value"),
		MAX_VALUE("max_value"),
		TOTAL_NUM("total_num"),
		WISHING("wishing"),
		CLIENT_IP("client_ip"),
		ACT_NAME("act_name"),
		REMARK("remark"),
		LOGO_IMGURL("logo_imgurl"),
		KEY("key")
		;
		private String value;
		
		private IReq_redpacket(String value){
			this.value = value;
		}
		@Override
		public String toString(){
			return this.value;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  IResp_redpacket
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  ΢���ֽ���������Ӧö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum IResp_redpacket{
		RETURN_CODE("return_code"),
		RETURN_MSG("return_msg"),
		SIGN("sign"),
		RESULT_CODE("result_code"),
		ERR_CODE("err_code"),
		ERR_CODE_DES("err_code_des"),
		MCH_BILLNO("mch_billno"),
		MCK_ID("mch_id"),
		WXAPPID("wxappid"),
		RE_OPENID("re_openid"),
		TOTAL_AMOUNT("total_amount"),
		SEND_TIME("send_time"),
		SEND_LISTID("send_listid")
		;
		private String value;
		
		private IResp_redpacket(String value){
			this.value = value;
		}
		@Override
		public String toString(){
			return this.value;
		}
		
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  Ret
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  ������ö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum Ret{
		SUCCESS("0000", "�ɹ�"),
		WX_ORDER_FAIL("FAIL", "��΢���µ�ʧ��"),
		ORDER_FAIL("FAIL", "ƽ̨�ڲ������µ�ʧ��"),
		SCARCE_PARAMS("SCARCE_PARAMS", "���������ȫ"),
		NO_SUBSCRIBE("NO_SUBSCRIBE", "�û�δ���Ĺ��ں�"),
		NO_BINDING_MOBILE("NO_BINDING_MOBILE", "�û�δ���ֻ���"),
		;
		private String value;
		private String desc;
		private Ret(String value, String desc){
			this.value = value;
			this.desc = desc;
		}
		@Override
		public String toString(){
			return this.value;
		}
		public String getDesc() {
			return desc;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  Symbol
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  �������ö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum Symbol{
		EQUAL("="),
		AND("&"),
		SEMICOLON(";")
		;
		private String value;
		private Symbol(String value){
			this.value = value;
		}
		@Override
		public String toString(){
			return this.value;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  IReq_inner_order
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  ƽ̨�ڲ��µ��ӿ��������ö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum IReq_inner_order{
		APPID("appid"),
		RPID("rpid"),
		REQDATE("reqdate"),
		REQTIME("reqtime"),
		OPENID("openid"),
		CHNLGOODSID("chnlgoodsid"),
		GOODSNAME("goodsname"),
		GOODSNUM("goodsnum"),
		MOBILEID("mobileid"),
		RECVMOBILEID("recvmobileid"),
		AMOUNT("amount"),
		PAYTYPE("paytype"),
		ORDERTYPE("ordertype"),
		EXPAND("expand"),
		VAERSION("version"),
		SIGNATURE("signature"),
		;
		private String value;
		private IReq_inner_order(String value){
			this.value = value;
		}
		@Override
		public String toString(){
			return this.value;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  OrderType
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  ƽ̨�ڲ���������ö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum OrderType{
		TICKET("ticket", "�ڻ�ȯ"),
		FLOW("flow", "������"),
		;
		private String value;
		private String desc;
		private OrderType(String value, String desc){
			this.value = value;
			this.desc = desc;
		}
		@Override
		public String toString(){
			return this.value;
		}
		public String getDesc() {
			return desc;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  PayType
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  ƽ̨�ڲ�֧����ʽö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum PayType{
		TICKET_EXCHAGE("T", "�ڻ�ȯ�һ�"),
		MOBILE("M", "�ۺ�֧��"),
		WXPAY("W", "΢��֧��"),
		;
		private String value;
		private String desc;
		private PayType(String value, String desc){
			this.value = value;
			this.desc = desc;
		}
		@Override
		public String toString(){
			return this.value;
		}
		public String getDesc() {
			return desc;
		}
		public void setDesc(String desc) {
			this.desc = desc;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  Parameters
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  �������ö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum Parameters{
		OPENID("openid", "���ں��û�openid"),
		CHNLGOODSID("chnlgoodsid", "������Ʒ��"),
		GOODSID("goodsid", "�̻���Ʒ��"),
		GOODSNAME("goodsname", "��Ʒ����"),
		GOODSNUM("goodsnum", "��Ʒ����"),
		PAYTYPE("paytype", "ƽ̨�ڲ��Զ���֧����ʽ"),
		ORDERTYPE("ordertype", "ƽ̨�ڲ��Զ��嶩������"),
		AMOUNT("amount", "��Ʒ֧�����(��Ʒ�ۼ�)"),
		MOBILEID("mobileid", "�û��ֻ�����"), // һ����֧���ֻ���
		RECVMOBILEID("recvmobileid", "�����ֻ�����"),
		ACCOUNT("account", "�û��˻�(QQ��)"),
		VALIDFIELD("validfield", "У��λ"),
		;
		private String value;
		private String desc;
		private Parameters(String value, String desc){
			this.value = value;
			this.desc = desc;
		}
		@Override
		public String toString(){
			return this.value;
		}
		public String getDesc() {
			return desc;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  IReq_wx_pay_unifiedorder
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  ΢�Ź��ں�֧��'ͳһ�µ�'�ӿ��������ö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum IReq_wx_pay_unifiedorder{
		APPID("appid", "�����˺�ID"),
		ATTACH("attach", "��������"),
		BODY("body", "��Ʒ����"),
		MCH_ID("mch_id", "�̻���"),
		NONCE_STR("nonce_str", "����ַ���"),
		NOTIFY_URL("notify_url", "֪ͨ��ַ"),
		OPENID("openid", "�û���ʶ"),
		OUT_TRADE_NO("out_trade_no", "�̻�������"),
		SPBILL_CREATE_IP("spbill_create_ip", "�ն�IP"),
		TOTAL_FEE("total_fee", "�ܽ��"),
		TRADE_TYPE("trade_type", "��������"),
		SUB_APPID("sub_appid", "�ӹ��ں�ID"),
		SUB_OPENID("sub_openid", "�ӹ����û���ʶ"),
		SIGN("sign", "ǩ��"),
		;
		private String value;
		private String desc;
		private IReq_wx_pay_unifiedorder(String value, String desc){
			this.value = value;
			this.desc = desc;
		}
		@Override
		public String toString(){
			return this.value;
		}
		public String getDesc() {
			return desc;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  IResp_wx_pay_unifiedorder
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  ΢�Ź��ں�֧��'ͳһ�µ�'�ӿ���Ӧ����ö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum IResp_wx_pay_unifiedorder{
		;
		private String value;
		private String desc;
		private IResp_wx_pay_unifiedorder(String value, String desc){
			this.value = value;
			this.desc = desc;
		}
		@Override
		public String toString(){
			return this.value;
		}
		public String getDesc() {
			return desc;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  IReq_wx_pay_jsapi_req
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  ΢�Ź��ں�֧��JSAPI����ӿڲ���
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum IReq_wx_pay_jsapi_req{
		APPID("appId", "���ں�id"),
		TIMESTAMP("timeStamp", "ʱ���"),
		NONCESTR("nonceStr", "����ַ���"),
		PACKAGE("package", "����������չ�ַ���"),
		SIGNTYPE("signType", "ǩ����ʽ"),
		PAYSIGN("paySign", "ǩ��"),
		;
		private String value;
		private String desc;
		private IReq_wx_pay_jsapi_req(String value, String desc){
			this.value = value;
			this.desc = desc;
		}
		@Override
		public String toString(){
			return this.value;
		}
		public String getDesc() {
			return desc;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  IReq_wx_pay_notify_req
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum IReq_wx_pay_notify_req{
		RETURN_CODE("return_code", "����״̬��"),
		RETURN_MSG("return_msg", "������Ϣ"),
		APPID("appid", "�����˺�ID"),
		MCH_ID("mch_id", "�̻���"),
		SUB_MCH_ID("sub_mch_id", "���̻���"),
		NONCE_STR("nonce_str", "����ַ���"),
		SIGN("sign", "ǩ��"),
		RESULT_CODE("result_code", "ҵ����"),
		ERR_CODE("err_code", "�������"),
		ERR_CODE_DES("err_code_des", "�����������"),
		OPENID("openid", "�û���ʶ"),
		IS_SUBSCRIBE("is_subscribe", "�Ƿ��ע�����˺�"),
		SUB_IS_SUBSCRIBE("sub_is_subscribe", "�Ƿ��ע�ӹ����˺�"),
		TRADE_TYPE("trade_type", "��������"),
		BANK_TYPE("bank_type", "��������"),
		TOTAL_FEE("total_fee", "�ܽ��"),
		FEE_TYPE("fee_type", "��������"),
		CASH_FEE("cash_fee", "�ֽ�֧�����"),
		TRANSACTION_ID("transaction_id", "΢��֧��������"),
		OUT_TRADE_NO("out_trade_no", "�̻�������"),
		ATTACH("attach", "�̼����ݰ�"),
		TIME_END("time_end", "֧�����ʱ��"),
		;
		private String value;
		private String desc;
		private IReq_wx_pay_notify_req(String value, String desc){
			this.value = value;
			this.desc = desc;
		}
		@Override
		public String toString(){
			return this.value;
		}
		public String getDesc() {
			return desc;
		}
	}
	
	public static enum Collections{
		USER_BEHABIOR("behavior", "�û���Ϊ"),
		AD_STATIS("adstatis", "���ͳ��"),
		;
		private String value;
		private String desc;
		private Collections(String value, String desc){
			this.value = value;
			this.desc = desc;
		}
		@Override
		public String toString(){
			return this.value;
		}
		public String getDesc(){
			return desc;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  IReq_common
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  ΢�Žӿڹ����ֶ�ö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum IReq_common{
		FUNCODE("funcode", "������"),
		RPID("rpid", "������ˮ"),
		REQDATE("reqdate", "��������"),
		REQTIME("reqtime", "����ʱ��"),
		;
		private String value;
		private String desc;
		private IReq_common(String value, String desc){
			this.value = value;
			this.desc = desc;
		}
		@Override
		public String toString(){
			return this.value;
		}
		public String getDesc(){
			return desc;
		}
	}
	
	/**
	 * ******************  ��˵��  *********************
	 * class       :  WxTransPoints
	 * @author     :  hejinyun@umpay.com
	 * @version    :  1.0  
	 * description :  ΢�Ž��׻��ֽӿ�ö����
	 * @see        :                        
	 * ***********************************************
	 */
	public static enum WxTransPoints{
		TRANSID("transid", "������ˮ"),
		TRANSDATE("transdate", "��������"),
		AMOUNT("amount", "���׽��"),
		MOBILEID("mobileid", "�ֻ�����"),
		EXPAND("expand", "��չ�ֶ�"),
		SIGN("sign", "ǩ���ֶ�"),
		;
		private String value;
		private String desc;
		private WxTransPoints(String value, String desc){
			this.value = value;
			this.desc = desc;
		}
		@Override
		public String toString(){
			return this.value;
		}
		public String getDesc(){
			return desc;
		}
	}
}
